home *** CD-ROM | disk | FTP | other *** search
Wrap
Text File | 1996-05-01 | 65.9 KB | 1,786 lines | [ TEXT/MPS ]
; ; File: OCEMailbox.a ; ; Contains: Apple Open Collaboration Environment OCEMaibox Interfaces. ; ; Version: Technology: AOCE Toolbox 1.02 ; Release: Universal Interfaces 3.0d3 on Copland DR1 ; ; Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved. ; ; Bugs?: If you find a problem with this file, send the file and version ; information (from above) and the problem description to: ; ; Internet: apple.bugs@applelink.apple.com ; AppleLink: APPLE.BUGS ; ; IF &TYPE('__OCEMAILBOX__') = 'UNDEFINED' THEN __OCEMAILBOX__ SET 1 IF &TYPE('__OCE__') = 'UNDEFINED' THEN include 'OCE.a' ENDIF IF &TYPE('__OCEMAIL__') = 'UNDEFINED' THEN include 'OCEMail.a' ENDIF IF &TYPE('__OCEMESSAGING__') = 'UNDEFINED' THEN include 'OCEMessaging.a' ENDIF IF &TYPE('__OCESTANDARDMAIL__') = 'UNDEFINED' THEN include 'OCEStandardMail.a' ENDIF IF FOR_SYSTEM7_ONLY THEN ; opaque references, iterators, and progress indicator kMBMaxNumEnclosures EQU 50 ; ******************************************************** ; Error codes, will be moved to OCEErrors.h ; ********************************************************* kOCEIncompletedCallsErr EQU -15069 ; calls operating within that container have not yet completed kOCEInvalidMBContainerTokenErr EQU -15070 ; the container token specified is invalid kOCERefExhaustedErr EQU -15071 ; all reference slots have been used kOCEInvalidIteratorErr EQU -15072 ; the Iterator specified is not valid kOCEItemAlreadyLocalErr EQU -15073 ; the letter is already local kOCEIteratorOutOfRangeErr EQU -15074 ; the iterator fell off the list of mail items kOCEInvalidSortOrder EQU -15075 ; sort order is invalid or unsupported kOCEInvalidSortDirection EQU -15076 ; sort direction is invalid or unsupported kOCEInvalidMailItemFilter EQU -15077 ; filter is invalid or unsupported kOCECopyOperationCanceled EQU -15078 ; copy operation is canceled kOCECopyAlreadyCompleted EQU -15079 ; copy operation cannot be canceled because it is already finished kOCEInvalidContainerType EQU -15080 ; the specified container type is invalid kOCECannotUnmountMailboxErr EQU -15081 ; cannot unmount the mailbox kOCEInvalidLetterSpecErr EQU -15082 ; letter spec is not valid kOCECannotCloseContainerErr EQU -15083 ; cannot close the container kOCEFontNotDeclared EQU -15084 ; cannot find font in font table kOCEFontTableNotFound EQU -15085 ; cannot find the font table in the letter kOCENoProgressIndicator EQU 0 ; ******************************************************** ; Mailbox Gestalt Values ; ******************************************************** gestaltOCEMailboxAPIAttr EQU 'mbxa' gestaltMailboxAPIPresent EQU $01 ; Mailbox API is present gestaltSupportsOutbox EQU $02 ; supports outbox access gestaltSupportsErrorLog EQU $04 ; supports mailbox error log ; ******************************************************** ; Mailbox Data Structures ; ******************************************************** ; typedef UInt32 MBMailboxToken MBMailboxData RECORD 0 mboxToken ds.l 1 ; offset: $0 (0) authID ds.l 1 ; offset: $4 (4) dataType ds.l 1 ; offset: $8 (8) creator ds.l 1 ; offset: $C (12) dataClass ds.l 1 ; offset: $10 (16) modTime ds MailTime ; offset: $14 (20) name ds RString64 ; offset: $1C (28) sizeof EQU * ; size: $60 (96) ENDR ; MBPermissions control whether other applications can detect that mailbox has been mounted ; typedef UInt32 MBPermissions kMBPermissionsPublicMount EQU $00000000 kMBPermissionsPrivateMount EQU $00000001 ; ******************************************************** ; Container Data Structures ; ********************************************************* ; ; These structures are used to manipulate and list the mailbox containers. ; A container is a logical collection of mailbox items. Examples of some ; standard containers are the inbox and the outbox. ; ; typedef UInt32 MBContainerType kMBUndefinedContainerType EQU $00000000 kMBInboxContainerType EQU 'inbx' kMBOutboxContainerType EQU 'otbx' MBContainerToken RECORD 0 reserved ds.l 3 ; offset: $0 (0) sizeof EQU * ; size: $C (12) ENDR ; typedef UInt32 MBContainerStatus kMBConnectionStatusUndefined EQU $00000000 kMBContainerStatusConnected EQU $00000001 kMBContainerStatusNotConnected EQU $00000002 ; typedef UInt32 MBContainerFlags kMBContainerLocal EQU $00000000 kMBContainerRemote EQU $00000001 kMBContainerLocalAndRemote EQU $00000002 ; typedef UInt32 MBContainerLocation kMBInboxContainerCreator EQU 'ptps' kMBOutboxContainerCreator EQU 'ptps' kMBContainerSystemClass EQU 'sys ' kMBContainerPMSAMClass EQU 'pmsm' kMBContainerUserClass EQU 'user' ; typedef UInt32 MBContainerClass MBContainerData RECORD 0 containerToken ds MBContainerToken ; offset: $0 (0) reserved ds MBContainerToken ; offset: $C (12) location ds.l 1 ; offset: $18 (24) status ds.l 1 ; offset: $1C (28) capabilities ds.l 3 ; offset: $20 (32) containerType ds.l 1 ; offset: $2C (44) creator ds.l 1 ; offset: $30 (48) containerClass ds.l 1 ; offset: $34 (52) name ds RString64 ; offset: $38 (56) sizeof EQU * ; size: $7C (124) ENDR ; typedef UInt8 AddressAsType ; ; AddressAsType is actually an enumerated type and its constants ; kAddressedAs_TO, kAddressedAs_CC, and kAddressedAs_BCC are ; defined in OCEMail.h in an anonymous enum list. ; MBInboxLetterData RECORD 0 seqNum ds MailSeqNum ; offset: $0 (0) letterFlags ds MailLetterFlags ; offset: $6 (6) approximateSize ds.l 1 ; offset: $A (10) ; approximate size of letter indications ds.l 1 ; offset: $E (14) creatorType ds OCECreatorType ; offset: $12 (18) sendTime ds MailTime ; offset: $1A (26) ; time that message was sent family ds.l 1 ; offset: $22 (34) filler ds.b 1 ; offset: $26 (38) addressedToMe ds.b 1 ; offset: $27 (39) ; addressed as TO, CC or BCC sender ds RString64 ; offset: $28 (40) subject ds RString64 ; offset: $6C (108) ; subject is truncated sizeof EQU * ; size: $B0 (176) ENDR MBOutboxLetterData RECORD 0 seqNum ds MailSeqNum ; offset: $0 (0) family ds.l 1 ; offset: $6 (6) ; family this message belongs to creatorType ds OCECreatorType ; offset: $A (10) messageID ds IPMMsgID ; offset: $12 (18) submitTime ds MailTime ; offset: $22 (34) approximateSize ds.l 1 ; offset: $2A (42) ; approximate size of letter recipientCount ds.l 1 ; offset: $2E (46) ; number of recipients of message pendingRecipientCount ds.l 1 ; offset: $32 (50) ; number of recipients left to send by this slot state ds.w 1 ; offset: $36 (54) subject ds RString64 ; offset: $38 (56) ; subject is truncated sizeof EQU * ; size: $7C (124) ENDR ; typedef UInt32 MBMailItemType kMBMailItemTypeUndefined EQU $00000000 kMBInboxLetter EQU $00000001 kMBOutboxLetter EQU $00000002 ; Filters for MBGetMailItemCount kMBNoFilterMask EQU $00000000 kMBInTrashFilterMask EQU $00000004 ; typedef UInt32 MBMailItemFilter MBMailItemData RECORD 0 itemType ds.l 1 ; offset: $0 (0) inboxLetter ds MBInboxLetterData ; offset: $4 (4) ORG 4 outboxLetter ds MBOutboxLetterData ; offset: $4 (4) ORG 180 sizeof EQU * ; size: $B4 (180) ENDR ; Used to mark an item read or unread using MBMarkLetter ; typedef UInt32 MBLetterReadStatus kMBLeaveReadMark EQU $00000000 kMBMarkLetterRead EQU $00000001 kMBMarkLetterUnread EQU $00000002 ; Used to mark an item in or out of trash using MBMarkLetter ; typedef UInt32 MBLetterTrashStatus kMBLeaveTrashMark EQU $00000000 kMBMarkLetterInTrash EQU $00000001 kMBMarkLetterNotInTrash EQU $00000002 ; ******************************************************** ; Changes Enumeration Data Structures ; ********************************************************* ; typedef UInt32 MBMailItemChangeType kMBNoChange EQU $00000000 kMBNewLetter EQU $00000001 kMBDeletedLetter EQU $00000002 kMBChangedLetter EQU $00000004 kMBAllChanges EQU $7FFFFFFF ; typedef UInt32 MBNotificationMask kMBNoNotification EQU $00000000 kMBNotificationNewMailItem EQU $00000001 kMBNotificationDeletedMailItem EQU $00000002 kMBNotificationChangedMailItem EQU $00000004 kMBNotificationMBReset EQU $00000008 ; must re-enumerate container contents kMBNotificationMailboxGoingAway EQU $00000010 kMBNotificationMSAMError EQU $00000020 kMBIgnoreThisNotification EQU $80000000 ; for future extensibility kMBAllNotifications EQU $7FFFFFFF ; ********************************************************* ; For mail item iterators ; ********************************************************* ; typedef UInt32 MBSortOrder kMBSortOrderMailSeqNum EQU $00000001 ; typedef UInt32 MBSortDirection kMBAscending EQU 0 ; forward declaration ; ------------------------------------------------------------------------------ ; Parameter Blocks for the Operations ; ------------------------------------------------------------------------------ ; ******************************************************** ; Mailbox Operations ; ******************************************************** ; Mounts the mailbox. Returns a mailboxRef which should be used on all future operations. MBMountMailboxPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) authID ds.l 1 ; offset: $18 (24) ; --> valid user authentication reserved1 ds.l 1 ; offset: $1C (28) ; --> must be set to 0 reserved2 ds.l 1 ; offset: $20 (32) ; --> must be set to 0 mailboxDataPtr ds.l 1 ; offset: $24 (36) ; <--> user supplied buffer for mailbox data mailboxRef ds.l 1 ; offset: $28 (40) ; <-- allows user to access contents of the mailbox sizeof EQU * ; size: $2C (44) ENDR ; Unmounts the Mailbox. After this call, the mailboxRef is no longer valid. MBUnmountMailboxPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) mailboxRef ds.l 1 ; offset: $18 (24) ; --> ref of mailbox to unmount reserved ds.l 1 ; offset: $1C (28) ; --> must be set to 0 sizeof EQU * ; size: $20 (32) ENDR ; ******************************************************** ; Container and Mail Item Operations ; ********************************************************* ; Opens the container for use, returns a containerRef which should be used in all future Container operations MBOpenContainerPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) mailboxRef ds.l 1 ; offset: $18 (24) ; --> authenticates client to access contents containerToken ds MBContainerToken ; offset: $1C (28) ; --> containerToken, persistent accross sessions containerRef ds.l 1 ; offset: $28 (40) ; <-- specifies the mounted mailbox we are dealing with sizeof EQU * ; size: $2C (44) ENDR ; Closes the container and invalidates the containerRef MBCloseContainerPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) containerRef ds.l 1 ; offset: $18 (24) ; --> ref to container you wish to close forceClose ds.b 1 ; offset: $1C (28) ; --> true to close in spite of outstanding letters that have not been closed filler ds.b 1 ; offset: $1D (29) sizeof EQU * ; size: $1E (30) ENDR ; Reconnect open container to remote service MBReconnectOpenContainerPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) containerRef ds.l 1 ; offset: $18 (24) ; --> the container ref to which to reconnect reserved1 ds.l 1 ; offset: $1C (28) ; --> must be set to 0 reserved2 ds.l 1 ; offset: $20 (32) ; --> must be set to 0 sizeof EQU * ; size: $24 (36) ENDR ; Returns the mail item with the specified mail sequence number MBGetMailItemDataPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) containerRef ds.l 1 ; offset: $18 (24) ; --> ref to container from which you wish to get data seqNum ds MailSeqNum ; offset: $1C (28) ; --> mail sequence number of the letter dataPtr ds.l 1 ; offset: $22 (34) ; <--> user supplied buffer where to copy data sizeof EQU * ; size: $26 (38) ENDR ; Returns the number of items in the container (filtered, if specified) MBGetMailItemCountPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) containerRef ds.l 1 ; offset: $18 (24) ; --> container whose items are to be counted filter ds.l 1 ; offset: $1C (28) ; --> filter to apply when counting items count ds.l 1 ; offset: $20 (32) ; <-- number of items of that type in the container sizeof EQU * ; size: $24 (36) ENDR ; ; Allocates the memory and sets the Iterator to the first ; of the mail items of that type in the container. ; MBCreateMailItemIteratorPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) containerRef ds.l 1 ; offset: $18 (24) ; --> ref of container where iterator should be set sortOrder ds.l 1 ; offset: $1C (28) ; --> sort order sortDirection ds.l 1 ; offset: $20 (32) ; --> sort direction reserved ds.l 2 ; offset: $24 (36) ; --> must be set to 0 iterator ds.l 1 ; offset: $2C (44) ; <-- iterator returned here, client allocates memory sizeof EQU * ; size: $30 (48) ENDR ; Dispose of the MBMailItemIterator MBDisposeMailItemIteratorPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) iterator ds.l 1 ; offset: $18 (24) ; --> the iterator to dispose of sizeof EQU * ; size: $1C (28) ENDR MBMailItemIteratePB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) iterator ds.l 1 ; offset: $18 (24) ; <--> iterator to move dataPtr ds.l 1 ; offset: $1C (28) ; <--> user supplied buffer where to copy data sizeof EQU * ; size: $20 (32) ENDR MBResetMailItemIteratorPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) iterator ds.l 1 ; offset: $18 (24) ; <--> mail item iterator to reset sizeof EQU * ; size: $1C (28) ENDR ; MarkLetter Read/Unread and/or In Trash/Out of Trash. MBMarkLetterPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) containerRef ds.l 1 ; offset: $18 (24) ; --> container in which letter resides seqNum ds MailSeqNum ; offset: $1C (28) ; --> mail sequence number of the letter readMark ds.l 1 ; offset: $22 (34) ; --> must be kMBLetterRead, kMBLetterUnread or kMBLeaveReadMark trashMark ds.l 1 ; offset: $26 (38) ; --> must be kMBLetterNotInTrash, kMBLetterInTrash or kMBLeaveTrashMark sizeof EQU * ; size: $2A (42) ENDR ; Stores the MailItem locally. MBCopyLocalPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) containerRef ds.l 1 ; offset: $18 (24) ; --> container in which letter resides seqNum ds MailSeqNum ; offset: $1C (28) ; --> mail sequence number of the desired letter progressIndicator ds.l 1 ; offset: $22 (34) ; --> created using MBCreateProgressIndicatoror kOCENoProgressIndicator if client does not desire progress indication. copyOperationRef ds.l 1 ; offset: $26 (38) ; <-- ref to this copy operation for use in cancel newSeqNum ds MailSeqNum ; offset: $2A (42) ; <-- seqNum of new letter after successful operation sizeof EQU * ; size: $30 (48) ENDR MBCopyToFilePB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) containerRef ds.l 1 ; offset: $18 (24) ; --> container in which letter resides seqNum ds MailSeqNum ; offset: $1C (28) ; --> mail sequence number of the desired letter specPtr ds.l 1 ; offset: $22 (34) ; --> spec of file which will contain the local copy progressIndicator ds.l 1 ; offset: $26 (38) ; --> created using MBCreateProgressIndicator or kOCENoProgressIndicator if client does not desire progress indication. copyOperationRef ds.l 1 ; offset: $2A (42) ; <-- ref to this copy operation for use in cancel sizeof EQU * ; size: $2E (46) ENDR ; Cancels the copy operation, if possible. MBCancelCopyPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) copyOperationRef ds.l 1 ; offset: $18 (24) ; --> reference to copyLocal or copyToFile operation to cancel sizeof EQU * ; size: $1C (28) ENDR ; An irrevocable delete of an item from a container. MBDeleteLetterPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) containerRef ds.l 1 ; offset: $18 (24) ; --> container in which letter resides seqNum ds MailSeqNum ; offset: $1C (28) ; --> mail sequence number of the letter to delete sizeof EQU * ; size: $22 (34) ENDR ; Forces a MailItem to be sent right now. This operation only works on MailItems in the outbox. MBSendNowPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) containerRef ds.l 1 ; offset: $18 (24) ; --> ref of the outbox container in which letter resides seqNum ds MailSeqNum ; offset: $1C (28) ; --> mail sequence number of the letter to send timeOut ds.l 1 ; offset: $22 (34) ; --> time in seconds to wait for a response from server sizeof EQU * ; size: $26 (38) ENDR ; ******************************************************** ; Notification and Changes Enumeration Operations ; ********************************************************* ; Allows a client to specify a callback routine and parameters. MBRegisterNotificationPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) containerRef ds.l 1 ; offset: $18 (24) ; --> container for which to receive notifications handler ds.l 1 ; offset: $1C (28) ; --> UPP of callback to call when changes occur mask ds.l 1 ; offset: $20 (32) ; --> which events should cause a notification contextPtr ds.l 1 ; offset: $24 (36) ; --> pointer to client-defined buffer is passed to handler notificationRef ds.l 1 ; offset: $28 (40) ; <-- reference to the newly registered notification reserved ds.l 1 ; offset: $2C (44) ; --> must be set to 0 sizeof EQU * ; size: $30 (48) ENDR ; Allows client to clear the callback info. MBUnregisterNotificationPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) notificationRef ds.l 1 ; offset: $18 (24) ; --> reference to the notification to unregister sizeof EQU * ; size: $1C (28) ENDR ; ******************************************************** ; Progress Indication Operations ; ********************************************************* ; ; Creates a progress indicator for tracking progress of a copy operation from ; MBCopyToFile or MBCopyLocal. ; MBCreateProgressIndicatorPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) progressIndicator ds.l 1 ; offset: $18 (24) ; <-- a progress indicator is returned here sizeof EQU * ; size: $1C (28) ENDR ; Dispose the progress indicator that was previously allocated by MBCreateProgressIndicator. MBDisposeProgressIndicatorPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) progressIndicator ds.l 1 ; offset: $18 (24) ; --> the progress indicator to be destroyed sizeof EQU * ; size: $1C (28) ENDR ; ; Returns the current level of progress that has been completed. ; The following fields can be polled during the the move in order to provide a "progress" ; indicator. The operation will be done when workCompleted equals totalWorkAmount. ; totalWorkAmount is pretty much a random number and is not an indication of the amount of ; work involved. ; MBGetCurrentProgressPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) progressIndicator ds.l 1 ; offset: $18 (24) totalWorkAmount ds.l 1 ; offset: $1C (28) ; <-- total amount of work that needs to be done, arbitrary units workCompleted ds.l 1 ; offset: $20 (32) ; <-- how much work was completed, between 0 and fTotalWorkAmount sizeof EQU * ; size: $24 (36) ENDR ; ******************************************************** ; Miscellaneous Operations ; ********************************************************* ; Returns the LetterSpec of a letter for use with Mailer APIs. MBGetLetterSpecPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) containerRef ds.l 1 ; offset: $18 (24) ; --> container within which the letter resides seqNum ds MailSeqNum ; offset: $1C (28) ; --> mail sequence number of the letter specPtr ds.l 1 ; offset: $22 (34) ; <--> letter spec is returned here, client-supplied buffer sizeof EQU * ; size: $26 (38) ENDR ; Obtain a mail sequence number and open container reference from a letter spec MBConvertLetterSpecPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) specPtr ds.l 1 ; offset: $18 (24) ; --> letter spec to convert containerRef ds.l 1 ; offset: $1C (28) ; <-- open container reference for input letter spec seqNum ds MailSeqNum ; offset: $20 (32) ; <-- mail sequence number for input letter spec sizeof EQU * ; size: $26 (38) ENDR ; Returns the containerID given a well known container type MBGetContainerTokenPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) mailboxRef ds.l 1 ; offset: $18 (24) ; --> the ref of the desired mailbox containerType ds.l 1 ; offset: $1C (28) ; --> one of the well known container types containerToken ds MBContainerToken ; offset: $20 (32) ; <-- the container Token returned here sizeof EQU * ; size: $2C (44) ENDR ; Returns ContainerData for a given ContainerToken. MBGetContainerDataFromTokenPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) mailboxRef ds.l 1 ; offset: $18 (24) ; --> the ref of the desired mailbox containerToken ds MBContainerToken ; offset: $1C (28) ; --> container you wish to get data from dataPtr ds.l 1 ; offset: $28 (40) ; --> user supplied buffer where to write the data sizeof EQU * ; size: $2C (44) ENDR ; ******************************************************** ; Contents Operations ; ********************************************************* ; Opens a letter that is currently in a container. MBOpenLetterPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) containerRef ds.l 1 ; offset: $18 (24) ; --> open container where the letter resides seqNum ds MailSeqNum ; offset: $1C (28) ; --> mail sequence number of the desired letter msgRef ds.l 1 ; offset: $22 (34) ; <-- the MailMsgRef authenticates the client to view the contents sizeof EQU * ; size: $26 (38) ENDR ; Opens a letter that is currently on the disk. MBOpenDiskLetterPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) diskLetter ds FSSpec ; offset: $18 (24) ; --> the location of the mail item on disk msgRef ds.l 1 ; offset: $5E (94) ; <-- the MailMsgRef authenticates the client to view the contents sizeof EQU * ; size: $62 (98) ENDR ; Closes a letter that is currently open. MBCloseLetterPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) msgRef ds.l 1 ; offset: $18 (24) ; --> mail sequence number of the letter to close sizeof EQU * ; size: $1C (28) ENDR ; Opens a letter that is nested within another. MBOpenNestedLetterPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) msgRef ds.l 1 ; offset: $18 (24) ; --> MailMsgRef of the containing letter nestedMsgRef ds.l 1 ; offset: $1C (28) ; <-- MailMsgRef of the nested letter sizeof EQU * ; size: $20 (32) ENDR ; Returns the path where the enclosures of a certain letter are kept. MBReadEnclosureFSSpecPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) msgRef ds.l 1 ; offset: $18 (24) ; --> message for which to read enclosure information enclosureDir ds FSSpec ; offset: $1C (28) ; <-- full path of directory where enclosures are stored sizeof EQU * ; size: $62 (98) ENDR ; Returns the path where the content of a certain letter is kept. MBReadContentFSSpecPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) msgRef ds.l 1 ; offset: $18 (24) ; --> message for which to read the content enclosureDir ds FSSpec ; offset: $1C (28) ; <-- full path and file name for main enclosure sizeof EQU * ; size: $62 (98) ENDR ; Enumerates across the blocks of a letter. MBEnumerateBlocksPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) msgRef ds.l 1 ; offset: $18 (24) ; --> letter whose blocks are to be enumerated startIndex ds.w 1 ; offset: $1C (28) ; --> starting block index buffer ds MailBuffer ; offset: $1E (30) ; <--> user-allocated buffer where blocks are returned nextIndex ds.w 1 ; offset: $2A (42) ; <-- Index of next block returned here more ds.b 1 ; offset: $2C (44) ; <-- true if more blocks to process filler ds.b 1 ; offset: $2D (45) sizeof EQU * ; size: $2E (46) ENDR ; Returns a buffer of all the recipients of a certain letter MBReadRecipientsPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) msgRef ds.l 1 ; offset: $18 (24) ; --> message about which to get recipient info attrID ds.w 1 ; offset: $1C (28) ; --> type of recipient, kMailFromBit through kMailBccBit startIndex ds.w 1 ; offset: $1E (30) ; --> position in recipient list at which to begin, starts at 1 buffer ds MailBuffer ; offset: $20 (32) ; <--> buffer contains a Mail Reply. Each tuple is an OCEPackedRecipient. Each tuple is word aligned. nextIndex ds.w 1 ; offset: $2C (44) ; <-- Index of next tuple that didn't fit in buffer more ds.b 1 ; offset: $2E (46) ; <-- true if there are more recipient tuples to process filler ds.b 1 ; offset: $2F (47) sizeof EQU * ; size: $30 (48) ENDR ; Reads the attributes of a letter as specified in the requestMask. ; ; buffer returned will contain the attribute values of ; the attributes indicated in responseMask, ; from the attribute indicated by the least significant bit set ; to the attribute indicated by the most significant bit set. ; Note that recipients - from, to, cc, bcc cannot be read using ; this call. Use GetRecipients to read these. ; MBReadAttributesPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) msgRef ds.l 1 ; offset: $18 (24) ; --> letter whose attributes you wish to get requestMask ds.l 1 ; offset: $1C (28) ; --> which attributes to get, kMailIndicationsBit through kMailSubjectBit buffer ds MailBuffer ; offset: $20 (32) ; <--> attributes returned in this user supplied buffer responseMask ds.l 1 ; offset: $2C (44) ; <-- returns bits of those attributes that were returned more ds.b 1 ; offset: $30 (48) ; <-- true if there are more recipient tuples to process filler ds.b 1 ; offset: $31 (49) sizeof EQU * ; size: $32 (50) ENDR ; Reads the block of a letter. MBReadBlockPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) msgRef ds.l 1 ; offset: $18 (24) ; --> letter whose blocks you wish to read blockType ds OCECreatorType ; offset: $1C (28) ; --> specifies creator and type of the block to read blockIndex ds.w 1 ; offset: $24 (36) ; --> relative position of the block of that type to read buffer ds MailBuffer ; offset: $26 (38) ; <--> user suppied buffer to reciev the information dataOffset ds.l 1 ; offset: $32 (50) ; --> byte offset within the block at which to start reading endOfBlock ds.b 1 ; offset: $36 (54) ; <-- indicates whether the call has returned the entire block filler ds.b 1 ; offset: $37 (55) remaining ds.l 1 ; offset: $38 (56) ; <-- number of bytes of data remaining in the block sizeof EQU * ; size: $3C (60) ENDR ; Returns a SignatureContext that can be used to verify a signature. MBVerifySignaturePB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) msgRef ds.l 1 ; offset: $18 (24) ; --> letter containing the signature to verify signatureContext ds.l 1 ; offset: $1C (28) ; --> previously obtained signature context sizeof EQU * ; size: $20 (32) ENDR ; Creates a letter given the relevant info about the letter. MBCreateLetterPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) msgRef ds.l 1 ; offset: $18 (24) ; <-- MailMsgRef of the letter just created senderIdentity ds.l 1 ; offset: $1C (28) ; --> authenticated identity of the sender msgType ds IPMMsgType ; offset: $20 (32) ; --> type, creator, and class of the sending application diskForm ds.b 1 ; offset: $44 (68) ; --> true to create letter on disk, otherwise in the outbox filler ds.b 1 ; offset: $45 (69) diskLetter ds FSSpec ; offset: $46 (70) ; --> diskForm is true, it specifies where to create the letter bccRecipients ds.b 1 ; offset: $8C (140) ; --> set to true if creating letter with bcc recipients filler2 ds.b 1 ; offset: $8D (141) sizeof EQU * ; size: $8E (142) ENDR ; Submits a letter for processing. MBSubmitLetterPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) msgRef ds.l 1 ; offset: $18 (24) ; --> ref to the letter that you wish to submit submitFlag ds.b 1 ; offset: $1C (28) ; --> throw letter away if submitFlag is false filler ds.b 1 ; offset: $1D (29) letterID ds MailLetterID ; offset: $1E (30) ; <-- persistent ID of the letter accross the whole system signaturePtr ds.l 1 ; offset: $2E (46) ; --> pointer to digital signature signatureSize ds.l 1 ; offset: $32 (50) ; --> size of the digital signature signatureContext ds.l 1 ; offset: $36 (54) ; --> pointer to the signature context sizeof EQU * ; size: $3A (58) ENDR ; Begin a nested mail item within some mail item. MBBeginNestedLetterPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) msgRef ds.l 1 ; offset: $18 (24) ; --> the letter within which you wish to nest reserved ds.l 1 ; offset: $1C (28) ; --> must be set to NIL msgType ds IPMMsgType ; offset: $20 (32) ; --> creator and type of the nested message to create sizeof EQU * ; size: $44 (68) ENDR ; End the nested mail item. This function is always executed synchronously. MBEndNestedLetterPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) msgRef ds.l 1 ; offset: $18 (24) ; --> the message containing the nested letter to end sizeof EQU * ; size: $1C (28) ENDR ; Add attributes to a mail item. MBAddAttributePB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) msgRef ds.l 1 ; offset: $18 (24) ; --> the letter to wich you wish to add an attribute attrID ds.w 1 ; offset: $1C (28) ; --> the type of attribute to add buffer ds MailBuffer ; offset: $1E (30) ; <--> attributes stored in buffer are copied to the mail item sizeof EQU * ; size: $2A (42) ENDR ; Adds an enclosure to a mail item. This function is always executed synchronously. MBAddEnclosurePB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) msgRef ds.l 1 ; offset: $18 (24) ; --> the letter to wich you wish to add an enclosure contentEnclosure ds.b 1 ; offset: $1C (28) ; --> whethet this enclosure contains the main content of the mail filler ds.b 1 ; offset: $1D (29) hfs ds.b 1 ; offset: $1E (30) ; --> true if in the file system, false if in memory append ds.b 1 ; offset: $1F (31) ; --> whether to append data in buffer to current enclosure buffer ds MailBuffer ; offset: $20 (32) ; <--> unused if hfs is true, otherwise it contains the file’s resource and data forks enclosure ds FSSpec ; offset: $2C (44) ; --> specifies the file or folder you wish to enclose addlInfo ds MailEnclosureInfo ; offset: $72 (114) ; --> specifies file system info for the enclosure sizeof EQU * ; size: $82 (130) ENDR ; Adds a block to a mail item. MBAddBlockPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) msgRef ds.l 1 ; offset: $18 (24) ; --> the message to wich you wish to add a block refCon ds.l 1 ; offset: $1C (28) ; --> reserved for your use blockType ds OCECreatorType ; offset: $20 (32) ; --> creator and type of the block that you want to write append ds.b 1 ; offset: $28 (40) ; --> whether to append the data in you buffer to the current block filler ds.b 1 ; offset: $29 (41) buffer ds MailBuffer ; offset: $2A (42) ; <--> stores the data you want to write to the message mode ds.w 1 ; offset: $36 (54) ; --> if blockType is kMailTunnelLtrType or kMailHopInfoType mode is assumed to be kMailFromMark offset ds.l 1 ; offset: $38 (56) ; --> offset to use to determine the starting point of the write set to 0 to start new block, ignored when append is false sizeof EQU * ; size: $3C (60) ENDR ; Adds a letter to another one. MBAddLetterPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) newMsgRef ds.l 1 ; offset: $18 (24) ; --> the new letter you are composing msgRef ds.l 1 ; offset: $1C (28) ; --> the original letter you want to add to the new letter sizeof EQU * ; size: $20 (32) ENDR ; Adds content to a mail item. MBAddContentPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) msgRef ds.l 1 ; offset: $18 (24) ; --> message from which to add some content segmentType ds.w 1 ; offset: $1C (28) ; --> segment type of data tou want to write append ds.b 1 ; offset: $1E (30) ; --> whether to copy data from buffer into mail item filler ds.b 1 ; offset: $1F (31) buffer ds MailBuffer ; offset: $20 (32) ; <--> place the data in this buffer textScrap ds.l 1 ; offset: $2C (44) ; --> a pointer to a style scrap structure startNewScript ds.b 1 ; offset: $30 (48) ; --> whether the data in buffer uses a new character set filler2 ds.b 1 ; offset: $31 (49) script ds.w 1 ; offset: $32 (50) ; --> valid only if startNewScript is true sizeof EQU * ; size: $34 (52) ENDR ; Reads the content of a mail item. MBReadContentPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) msgRef ds.l 1 ; offset: $18 (24) ; --> message from which to read the content segmentMask ds.w 1 ; offset: $1C (28) ; --> the types of segments that you want to read buffer ds MailBuffer ; offset: $1E (30) ; <--> user suppiled buffer into which to write the segment textScrap ds.l 1 ; offset: $2A (42) ; <--> a pointer to a style scrap structure script ds.w 1 ; offset: $2E (46) ; <-- the character set of the text placed in your buffer segmentType ds.w 1 ; offset: $30 (48) ; <-- the type of the current data segment endOfScript ds.b 1 ; offset: $32 (50) ; <-- whether the text in your buffer is the end of a script run endOfSegment ds.b 1 ; offset: $33 (51) ; <-- whether we reached the end of a segment endOfContent ds.b 1 ; offset: $34 (52) ; <-- whether we reached the end of the letter's content block filler ds.b 1 ; offset: $35 (53) segmentLength ds.l 1 ; offset: $36 (54) ; <-- number of bytes in the current segment segmentID ds.l 1 ; offset: $3A (58) ; <--> segment identifier sizeof EQU * ; size: $3E (62) ENDR ; Adds another recipient to a mail item. MBAddRecipientPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) msgRef ds.l 1 ; offset: $18 (24) ; --> message to which to add recipient information attrID ds.w 1 ; offset: $1C (28) ; --> type of recipient to add to the message recipient ds.l 1 ; offset: $1E (30) ; --> where you provide complete addressing information about recipient invalid ds.b 1 ; offset: $22 (34) ; --> Must be set to false filler ds.b 1 ; offset: $23 (35) sizeof EQU * ; size: $24 (36) ENDR ; Gets a font name from the letter, given a font number MBGetFontNameFromLetterPB RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) msgRef ds.l 1 ; offset: $18 (24) ; --> letter reference from which to get font table fontNum ds.w 1 ; offset: $1C (28) ; --> font number to obtain name of filler ds.w 1 ; offset: $1E (30) fontName ds.l 1 ; offset: $20 (32) ; <--> user supplied buffer to be filled with font name sizeof EQU * ; size: $24 (36) ENDR MailboxParam RECORD 0 qLink ds.l 1 ; offset: $0 (0) reservedH1 ds.l 1 ; offset: $4 (4) reservedH2 ds.l 1 ; offset: $8 (8) ioCompletion ds.l 1 ; offset: $C (12) ioResult ds.w 1 ; offset: $10 (16) saveA5 ds.l 1 ; offset: $12 (18) reqCode ds.w 1 ; offset: $16 (22) ; Mailbox Operations ORG 0 mountMailboxPB ds MBMountMailboxPB ; offset: $0 (0) ORG 0 unmountMailboxPB ds MBUnmountMailboxPB ; offset: $0 (0) ; Container and Letter Operations ORG 0 openContainerPB ds MBOpenContainerPB ; offset: $0 (0) ORG 0 closeContainerPB ds MBCloseContainerPB ; offset: $0 (0) ORG 0 reconnectOpenContainerPB ds MBReconnectOpenContainerPB ; offset: $0 (0) ORG 0 getMailItemDataPB ds MBGetMailItemDataPB ; offset: $0 (0) ORG 0 getMailItemCountPB ds MBGetMailItemCountPB ; offset: $0 (0) ORG 0 createMailItemIteratorPB ds MBCreateMailItemIteratorPB ; offset: $0 (0) ORG 0 disposeMailItemIteratorPB ds MBDisposeMailItemIteratorPB ; offset: $0 (0) ORG 0 mailItemIteratePB ds MBMailItemIteratePB ; offset: $0 (0) ORG 0 resetMailItemIteratorPB ds MBResetMailItemIteratorPB ; offset: $0 (0) ORG 0 markLetterPB ds MBMarkLetterPB ; offset: $0 (0) ORG 0 copyLocalPB ds MBCopyLocalPB ; offset: $0 (0) ORG 0 copyToFilePB ds MBCopyToFilePB ; offset: $0 (0) ORG 0 cancelCopyPB ds MBCancelCopyPB ; offset: $0 (0) ORG 0 deleteLetterPB ds MBDeleteLetterPB ; offset: $0 (0) ORG 0 sendNowPB ds MBSendNowPB ; offset: $0 (0) ; Notification and Changes Iterator Operations ORG 0 registerNotificationPB ds MBRegisterNotificationPB ; offset: $0 (0) ORG 0 unregisterNotificationPB ds MBUnregisterNotificationPB ; offset: $0 (0) ; Progress Indicator Operations ORG 0 createProgressIndicatorPB ds MBCreateProgressIndicatorPB ; offset: $0 (0) ORG 0 disposeProgressIndicatorPB ds MBDisposeProgressIndicatorPB ; offset: $0 (0) ORG 0 getCurrentProgressPB ds MBGetCurrentProgressPB ; offset: $0 (0) ; Miscellaneous Operations ORG 0 getLetterSpecPB ds MBGetLetterSpecPB ; offset: $0 (0) ORG 0 convertLetterSpecPB ds MBConvertLetterSpecPB ; offset: $0 (0) ORG 0 getContainerTokenPB ds MBGetContainerTokenPB ; offset: $0 (0) ORG 0 getContainerDataFromTokenPB ds MBGetContainerDataFromTokenPB ; offset: $0 (0) ; Contents Operations ORG 0 openLetterPB ds MBOpenLetterPB ; offset: $0 (0) ORG 0 openDiskLetterPB ds MBOpenDiskLetterPB ; offset: $0 (0) ORG 0 closeLetterPB ds MBCloseLetterPB ; offset: $0 (0) ORG 0 openNestedLetterPB ds MBOpenNestedLetterPB ; offset: $0 (0) ORG 0 readEnclosureFSSpecPB ds MBReadEnclosureFSSpecPB ; offset: $0 (0) ORG 0 readContentFSSpecPB ds MBReadContentFSSpecPB ; offset: $0 (0) ORG 0 enumerateBlocksPB ds MBEnumerateBlocksPB ; offset: $0 (0) ORG 0 readRecipientsPB ds MBReadRecipientsPB ; offset: $0 (0) ORG 0 readAttributesPB ds MBReadAttributesPB ; offset: $0 (0) ORG 0 readBlockPB ds MBReadBlockPB ; offset: $0 (0) ORG 0 verifySignaturePB ds MBVerifySignaturePB ; offset: $0 (0) ORG 0 createLetterPB ds MBCreateLetterPB ; offset: $0 (0) ORG 0 submitLetterPB ds MBSubmitLetterPB ; offset: $0 (0) ORG 0 beginNestedLetterPB ds MBBeginNestedLetterPB ; offset: $0 (0) ORG 0 endNestedLetterPB ds MBEndNestedLetterPB ; offset: $0 (0) ORG 0 addAttributePB ds MBAddAttributePB ; offset: $0 (0) ORG 0 addEnclosurePB ds MBAddEnclosurePB ; offset: $0 (0) ; this variant is SYSTEM8_DEPRECATED ORG 0 addBlockPB ds MBAddBlockPB ; offset: $0 (0) ORG 0 addLetterPB ds MBAddLetterPB ; offset: $0 (0) ORG 0 addContentPB ds MBAddContentPB ; offset: $0 (0) ORG 0 readContentPB ds MBReadContentPB ; offset: $0 (0) ORG 0 addRecipientPB ds MBAddRecipientPB ; offset: $0 (0) ORG 0 getFontNameFromLetterPB ds MBGetFontNameFromLetterPB ; offset: $0 (0) ORG 142 sizeof EQU * ; size: $8E (142) ENDR ; ------------------------------------------------------------------------------ ; FUNCTION PROTOTYPES ; ------------------------------------------------------------------------------ ; ******************************************************** ; Mailbox Operations ; ********************************************************* ; ; pascal OSErr MBMountMailbox(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBMountMailbox move.w #$0578,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBMountMailbox ENDIF ; ; pascal OSErr MBUnmountMailbox(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBUnmountMailbox move.w #$0579,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBUnmountMailbox ENDIF ; ******************************************************** ; MailItem Operations ; ********************************************************* ; ; pascal OSErr MBOpenContainer(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBOpenContainer move.w #$0582,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBOpenContainer ENDIF ; ; pascal OSErr MBCloseContainer(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBCloseContainer move.w #$0583,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBCloseContainer ENDIF ; ; pascal OSErr MBReconnectOpenContainer(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBReconnectOpenContainer move.w #$057F,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBReconnectOpenContainer ENDIF ; ; pascal OSErr MBGetMailItemData(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBGetMailItemData move.w #$0592,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBGetMailItemData ENDIF ; ; pascal OSErr MBGetMailItemCount(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBGetMailItemCount move.w #$0584,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBGetMailItemCount ENDIF ; ; pascal OSErr MBCreateMailItemIterator(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBCreateMailItemIterator move.w #$0585,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBCreateMailItemIterator ENDIF ; ; pascal OSErr MBDisposeMailItemIterator(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBDisposeMailItemIterator move.w #$0586,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBDisposeMailItemIterator ENDIF ; ; pascal OSErr MBMailItemIterate(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBMailItemIterate move.w #$0587,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBMailItemIterate ENDIF ; ; pascal OSErr MBResetMailItemIterator(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBResetMailItemIterator move.w #$0588,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBResetMailItemIterator ENDIF ; ; pascal OSErr MBMarkLetter(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBMarkLetter move.w #$058C,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBMarkLetter ENDIF ; ; pascal OSErr MBCopyLocal(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBCopyLocal move.w #$058D,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBCopyLocal ENDIF ; ; pascal OSErr MBCopyToFile(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBCopyToFile move.w #$058E,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBCopyToFile ENDIF ; ; pascal OSErr MBCancelCopy(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBCancelCopy move.w #$058F,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBCancelCopy ENDIF ; ; pascal OSErr MBDeleteLetter(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBDeleteLetter move.w #$0590,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBDeleteLetter ENDIF ; ; pascal OSErr MBSendNow(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBSendNow move.w #$0591,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBSendNow ENDIF ; ******************************************************** ; MailItem Changes Operations ; ********************************************************* ; ; pascal OSErr MBRegisterNotification(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBRegisterNotification move.w #$0596,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBRegisterNotification ENDIF ; ; pascal OSErr MBUnregisterNotification(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBUnregisterNotification move.w #$0597,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBUnregisterNotification ENDIF ; ******************************************************** ; Progress Indicator Operations ; ******************************************************** ; ; pascal OSErr MBCreateProgressIndicator(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBCreateProgressIndicator move.w #$059C,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBCreateProgressIndicator ENDIF ; ; pascal OSErr MBDisposeProgressIndicator(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBDisposeProgressIndicator move.w #$059D,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBDisposeProgressIndicator ENDIF ; ; pascal OSErr MBGetCurrentProgress(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBGetCurrentProgress move.w #$059E,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBGetCurrentProgress ENDIF ; ******************************************************** ; Miscellaneous Operations ; ********************************************************* ; ; pascal OSErr MBGetLetterSpec(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBGetLetterSpec move.w #$059F,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBGetLetterSpec ENDIF ; ; pascal OSErr MBConvertLetterSpec(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBConvertLetterSpec move.w #$0599,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBConvertLetterSpec ENDIF ; ; pascal OSErr MBGetContainerToken(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBGetContainerToken move.w #$0589,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBGetContainerToken ENDIF ; ; pascal OSErr MBGetContainerDataFromToken(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBGetContainerDataFromToken move.w #$058A,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBGetContainerDataFromToken ENDIF ; ******************************************************** ; Contents Operations ; ********************************************************* ; ; pascal OSErr MBOpenLetter(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBOpenLetter move.w #$05A0,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBOpenLetter ENDIF ; ; pascal OSErr MBOpenDiskLetter(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBOpenDiskLetter move.w #$05A1,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBOpenDiskLetter ENDIF ; ; pascal OSErr MBCloseLetter(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBCloseLetter move.w #$05A2,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBCloseLetter ENDIF ; ; pascal OSErr MBOpenNestedLetter(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBOpenNestedLetter move.w #$05A3,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBOpenNestedLetter ENDIF ; ; pascal OSErr MBReadEnclosureFSSpec(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBReadEnclosureFSSpec move.w #$05A4,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBReadEnclosureFSSpec ENDIF ; ; pascal OSErr MBReadContentFSSpec(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBReadContentFSSpec move.w #$05A5,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBReadContentFSSpec ENDIF ; ; pascal OSErr MBEnumerateBlocks(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBEnumerateBlocks move.w #$05A6,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBEnumerateBlocks ENDIF ; ; pascal OSErr MBReadRecipients(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBReadRecipients move.w #$05A7,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBReadRecipients ENDIF ; ; pascal OSErr MBReadAttributes(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBReadAttributes move.w #$05A8,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBReadAttributes ENDIF ; ; pascal OSErr MBReadBlock(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBReadBlock move.w #$05A9,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBReadBlock ENDIF ; ; pascal OSErr MBVerifySignature(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBVerifySignature move.w #$05AA,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBVerifySignature ENDIF ; ; pascal OSErr MBCreateLetter(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBCreateLetter move.w #$05AB,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBCreateLetter ENDIF ; ; pascal OSErr MBSubmitLetter(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBSubmitLetter move.w #$05AC,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBSubmitLetter ENDIF ; ; pascal OSErr MBBeginNestedLetter(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBBeginNestedLetter move.w #$05AD,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBBeginNestedLetter ENDIF ; ; pascal OSErr MBEndNestedLetter(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBEndNestedLetter move.w #$05AE,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBEndNestedLetter ENDIF ; ; pascal OSErr MBAddAttribute(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBAddAttribute move.w #$05AF,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBAddAttribute ENDIF ; ; pascal OSErr MBAddEnclosure(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBAddEnclosure move.w #$05B0,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBAddEnclosure ENDIF ; ; pascal OSErr MBAddBlock(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBAddBlock move.w #$05B1,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBAddBlock ENDIF ; ; pascal OSErr MBAddLetter(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBAddLetter move.w #$05B2,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBAddLetter ENDIF ; ; pascal OSErr MBAddContent(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBAddContent move.w #$05B3,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBAddContent ENDIF ; ; pascal OSErr MBReadContent(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBReadContent move.w #$05B4,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBReadContent ENDIF ; ; pascal OSErr MBAddRecipient(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBAddRecipient move.w #$05B5,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBAddRecipient ENDIF ; ; pascal OSErr MBGetFontNameFromLetter(MailboxParam *mailParam, Boolean async) ; IF ¬ GENERATINGCFM THEN Macro _MBGetFontNameFromLetter move.w #$0598,-(sp) dc.w $AA5E EndM ELSE IMPORT_CFM_FUNCTION MBGetFontNameFromLetter ENDIF ENDIF ENDIF ; __OCEMAILBOX__